局域网的基本概念和体系结构
特点
- 地理范围较小
- 时延和误码率小
- 局域网内各节点之间以”帧”为单位进行传输
- 支持单播,广播,多播 -> 通过MAC地址指定
- 局域网的特性主要由拓扑结构,传输介质和介质访问控制方式决定
分类
有线局域网
- 令牌环网 -> 环形; 同轴电缆/双绞线; 令牌传递协议
- 以太网(Ethernet,802.3) -> (物理层采用曼彻斯特编码)
- 早期 -> (10Base5)总线型; 同轴电缆+中继器; CSMA/CD协议
- 双绞线以太网 -> (10BaseT)
- 集线器 -> 物理上星形, 逻辑上总线型; 双绞线; CSMA/CD协议
- 交换机 -> 星形; 双绞线; CSMA/CD(半双工)或NULL(全双工)
- 光纤以太网 -> (10BaseF)可以扩大局域网范围,不会直接连接终端 点对点(无冲突,用于中继器,集线器,交换机); 光纤; NULL
支持全双工通信 -> 4对双绞线, 不需要计算机与交换机争抢信道, NULL; 早期网线只有1对双绞线, 只支持半双工, 需要计算机与交换机争抢信道CSMA/CD协议 集线器与同轴电缆只能支持半双工, 光纤只支持全双工, 连接向下兼容
- 无线局域网WLAN(WiFi/802.11) 被定义为星形(1个AP+N台移动设备); 无线; CSMA/CA协议
硬件架构
以太网和IEEE802.3
IEEE802
- IEEE802标准定义的局域网只对应于OSI参考模型的数据链路层和物理层, 并将数据链路层拆分成两个子层 -> 逻辑链路控制(LLC层, 靠近网络层), 介质访问控制(MAC)层 其中之前学到的所有功能基本都在MAC子层; LLC子层与传输介质无关, 向网络层提供无确认无连接服务, 面向连接服务, 带确认无连接服务等多种服务类型, 同时定义的MAC区别也与该层有关
以太网的概念
- IEEE802.3与DIX Ethernet V2差距较小, 符合其标准的局域网被定义为以太网
- 简化通信 -> 无连接的工作方式, 不对发送的数据帧编号, 也不要求接收方返回确认, 即 -> 以太网提供不可靠的尽最大努力交付服务, 差错纠正由高层协议完成
- 曼彻斯特编码, 同时同步信号与不需要帧结束定界
传输介质与网卡
- 10Base-5/2/T/F
- Base表示基带以太网Baseband Ethernet, 把整个传输介质的带宽全部用来传一路数字信号的以太网, 信号不经过载波调制, 直接在线路上发送.
- 10表示10Mbps, Base表示基带以太网
- 5/2表示(同轴电缆)传输距离最大为500m/185m
- T表示UTP,Unshielded Twisted Pair,非屏蔽双绞线
- F表示光纤,Fiber
- 网卡, 网络适配器Adapter, 网络接口卡NIC
- 内置处理器和存储器, 工作在数据链路层
- 适配器与局域网之间通过电缆或双绞线以串行方式通信, 与计算机之间则通过IO总线以并行方式通信; 因此, 需要实现串行与并行的数据转换
- 还负责物理连接与电信号的匹配, 帧的发送与接受, 帧的封装与拆封, 介质访问控制, 数据的编码与解码, 数据缓存…
- 工作流程 -> 收到正确帧, 中断通知主机, 将数据交付给协议栈的网络层; 要发送IP数据报时, 协议栈将其向下传递给适配器, 由适配器封装成帧后发送至局域网
以太网MAC地址
- 48位全球唯一地址(前24位为厂商代码, 低24位为厂商自行分配的适配器序列号)
- 固化在网络适配器的ROM中, 又可称为物理地址
- 通常用12个十六进制位表示
- 当路由器通过适配器接入局域网, 该适配器的MAC地址用于标识路由器的对应接口; 若路由器连接多个网络, 则需配备多个适配器, 每个接口拥有独立的MAC地址 如果不这么做, 一个MAC地址可能在多个局域网中, 可能会造成混乱; 标准规定每个网络接口应该有独立的 MAC 地址 -> 路由器存在数据链路层, 就需要多个网卡进行数据处理, 每个网卡都有独立的物理地址
- 在适配器从网络上收到MAC帧时, 先用硬件检查目的地址(6B), 若为发往本站的帧, 则接收(包括如下三种), 否则丢弃
- 单播帧(一对一) -> 目的地址与本站MAC相同
- 广播帧(一对全体) -> 目的地址为全1
- 多播帧(一对多) -> 目的地址为某个多播组地址, 发给局域网中的部分站点
广播是所有设备都必须处理, 会消耗所有主机的 CPU; 多播只有加入该多播组的设备才接收, 效率更高
CSMA/CD协议
Collision Detection, 碰撞(冲突)检测, 用于早期的有线以太网(总线型), 注意, 现在也是用的以太网但是不一定都是总线型
- 介质 -> 同轴电缆, 集线器
- 1-坚持
- 先听后发, 边听边发, 冲突停发, 随机重发
- 冲突检测 -> 站点在发送数据时同时也在监听, 如果发现了信道上有其他数据, 会停发, 但是已经发出的数据不会撤回(小于最短帧长), 也会让其他站点能检测到冲突
- 随机重发 -> 截断二进制指数退避算法(截断意为重传次数超过一定阈值后, 窗口大小不再无限增长, 而是固定上限) -> 随机等待一段时间 = r倍争用期 1) 如果k ≤ 10, 在区间随机取一个整数r 2) 如果k>10, 在区间随机去一个整数r
- 两个分水岭 ->
- 第10次冲突, 改变随机重发的r取值
- 第16次冲突, 放弃传帧, 报告网络层
- 争用期 -> 争用期是从发送数据开始, 节点检测到冲突的最长时间, 同时是两倍的让其余所有节点监听到信号的最长时间
- CSMA/CD没有ACK机制, 争用期内没有检测到冲突就认为帧发送成功
- 最短帧长(规定, 不满足则填充) -> 若收到的帧小于最短帧长, 视为无效帧 -> 发送方必须在帧发送完毕之前, 能够检测到可能发生的碰撞 -> 因为A发完了就停止监听的话, 争用期没到, 可能会误以为没有冲突
- 最长帧长 -> 规定最长帧长可以防止某些节点一直占用信道
- 以太网规定 -> 最长帧长64B, 最长帧长1518B
以太网MAC帧
- DIX Ethernet V2和IEEE 802.3标准, 区别是类型标识符中前者为类型字段, 后者为数据的长度字段
- 结构
- 在打包给物理层前插入前导码
前同步码010101..01(7B)|帧开始定界符(1B), 共8B - MAC帧
目的地址(6B)|源地址(6B)|类型(2B)|数据(46~1500B,内有IP数据报SDU-3)|FCS(4B)
- 在打包给物理层前插入前导码
- 特点
- 不需要帧结束定界符 -> 因为在以太网上传送帧有至少96比特时间的间隙, 以及曼彻斯特编码的违规编码可以不用帧结束定界符
- 类型中指明字段里封装的是那种上层协议; 现代以太网靠数值大小就能自动区分是 DIX 帧还是 802.3 帧 -> - 值 > 1536(0x0600) -> 表示 类型(Ethernet II), 值 <= 1500 -> 表示 长度(IEEE 802.3 格式) -> 属于数据链路层以太网帧, 值由上层给出(底层对上层透明, 但是上层不一定对底层透明)
- FCS表示帧检验序列CRC-32(4B), 进行MAC帧(不包括前导码)的检错不能纠错
高速以太网
- 100Base-T以太网 -> 双绞线; 支持全双工/半双工; CSMA/CD协议或NULL 帧间最小间隔会降低10倍
- 吉比特以太网 -> 1Gbps; 双绞线或光纤; 支持全双工/半双工;
- 10吉比特以太网 -> 10Gbps; 光纤; 全双工
可见以太网的可拓展性, 灵活性(介质,双工模式,共享/交换构架), 易部署性和稳健性
无线局域网IEEE802.11
无线局域网
- 分类 -> 有固定基础设置的~和无固定基础设施的移动自组织网络
- 有固定基础设置的无线局域网
802.11协议采用星形拓扑, 中心结点为AP(Access Point), MAC层采用CSMA/CA协议, 此时可称为Wi-Fi
- 最小构件是基本服务集(BSS), 站内或跨站通信都要经过该BSS的AP
- 配置AP时, 要分配32B的SSID和一个工作信道, AP之间通信主要通过有限链路完成
- BSS覆盖的区域称为基本服务区BSA
- BSS通过AP连接到DS(Distribution System,分配系统)与其他BSS相连就构成扩展的服务集ESS; DA使得整个ESS对上层呈现为一个单一的BSS
- 无固定基础设施的移动自组织网络 -> 自组网络
- 各节点地位平等, 对等网络
- 中间节点转发其他结点的数据, 起到兼具终端和路由的作用
- 每个结点主动参与路由的发现与维护, 采用专门为其设计的路由机制
- 移动IP旨在支持主机在不同网络间漫游并接入互联网, 底层仍然依赖固定网络的路由基础设施; 而自足网络则是一种分布式的无线自治系统, 专用路由协议且独立于互联网, 无须依赖固定网络的路由基础设施
- 有固定基础设置的无线局域网
802.11协议采用星形拓扑, 中心结点为AP(Access Point), MAC层采用CSMA/CA协议, 此时可称为Wi-Fi
## CSMA/CA协议
Collision Avoidance, 冲突避免
- 使用该协议原因 -> 适配器接受的信号强度远小于其发送信号强度(信号强度波动范围也大), 冲突检测硬件成本高; 在无线通信中, 并非所有的站点都能互相侦听到对方, 但是可能产生冲突, 即存在隐蔽站的问题(作用范围可能是球形, 在他们交集处产生冲突)
- 不支持冲突检测 -> 一旦开始发送帧, 就必须完整发送该帧
- 802.11协议中引入确认重传(Automatic Repeat reQuest,ARQ)机制 -> 站点发送完一帧, 收到对方的确认帧(ACK)后才能发下一帧(停止-等待式可靠传输协议)
- 802.11协议定义了两种介质访问控制方式 ->
- 分布式协调功能(DCF,Distributed Coordination Function) -> 不采用任何中心控制, 各站通过争用信道获得发送权
- 点协调功能(PCF,Point Coordination Function) -> AP集中控制, 将发送权轮流分配给各站(可选但是少见)
- 802.11协议规定的检测信道 ->
- 如何检测 -> 信道空闲 = 物理载波监听空闲 + 虚拟载波监听的NAV(Network Allocation Vector,网络分配向量)倒计时变为0
- 信道忙 -> 禁止发送
- 信道空闲 -> 等待以段短暂时间(帧间间隔InterFrame Space,IFS,确保信道持续空闲)发送
- DIFS -> 长IFS, 在DCF方式下用来发送数据帧和管理帧
- PIFS -> 中等长度, 用于PCF
- SIFS -> 短IFS, 分隔统一对话中的连续帧, 如ACK,CTS,分片后的数据帧, AP探寻时的响应帧
- 退避 -> 检测到信道忙转闲, 先等待DIFS再随机退避(等ACK,CTS这类更紧急的短帧)
- 仅当检测到信道空闲(而不是忙转闲)且该数据帧是要发送的第一个数据帧时, 才不使用退避算法
- CSMA/CA协议的退避时间 -> 个时隙中随机选择一个, i为重传次数; 该时间通过维护退避计时器, 在时间DIFS内持续空闲后开始争用信道, 倒计时降为0, 立即发送数据帧并等待确认
- 重发, 发送第二帧都要重新维护退避计时器
- 信道预约
- 信道持续空闲(首次检测到信道空闲或是退避完成)后的DIFS后, A站发送RTS(Request To Send)控制帧, 广播占用信道预计时间[SIFS+CTS+SIFS+DATA+SIFS+ACK]
- AP正确收到RTS帧且信道空闲, 则等待SIFS后, 广播CTS(Clear To Send), 同时也是高速所有能收到CTS帧的站预计时间[SIFS+DATA+SIFS+ACK]
- A站收到CTS后, 等待SIFS后即可发送数据帧, 首部写[DATA+SIFS+ACK], 意思是让接收方收到后马上改NAV
- 任何站点收到了RTS,CTS或数据帧, 都可以根据首部的持续期字段设置自己的NAV实现CA -> 有效减少因为隐蔽站引发的冲突问题
802.11局域网的MAC帧结构
- 首部(30B) ->
帧控制,2B|持续期,2B|地址1,6B|地址2,6B|地址3,6B|序号控制,2B|地址4,6B其中, 帧控制又包括协议版本,2b|类型,2b|子类型,4b|去往AP,1b|来自AP,1b|更多分片,1b|重试,1b|功率管理,1b|更多数据,1b|WEP,1b|顺序,1b - 帧主体(≤2312B)
- 帧检验序列(4B)
MAC帧字段
- 关于地址字段 -> 本质上是一种复用 -> 前两个地址为局部的目的地址和源地址, 第三个为捎带的, 第四个用于自组网络
- 持续期字段 -> 用于CA的虚拟载波监听
- 帧控制字段中的类型和子类型 -> 用于区分帧的功能 -> 数据帧/管理帧/控制帧(ACK,RTS,CTS等)
VLAN基本概念和基本原理
- 为什么需要VLAN
- 一个广播域网络中可能有大量计算机, 大量广播帧
- 同一单位的不同部门共享一个局域网, 不利于信息保密和安全隔离
- 通过虚拟局域网, 将大型局域网划分为若干与地理位置无关的逻辑上的VLAN, 每个VLAN构成一个独立且较小的广播域; 只有同一个VLAN的主机可以直接通信
- 三种划分方式 -> 对于主机来说, 其对应划分方式的基础不变, 则其所在VLAN不变
- 基于端口(接口)
- 基于MAC地址
- 基于IP地址
- 支持VLAN的以太网帧结构(802.1Q帧) -> 662N4->6642(N)4
仅保持了最短帧长不变, 添加了VLAN标签4B, 记得重算FCS ->
802.1Q标签类型2B|VID标签控制信息(4bit未用|VID,12bit) - 可以实现同一台交换机里存在多个VLAN, 不同交换机里的设备可以属于同一个VLAN; 对于同一台交换机里的终端, 可以直接转发以太网帧, 到那时后者只能转发802.1Q帧(在交换机相连的干线链路(汇聚链路,Trunk Link)上)
- VID对终端透明, 但是交换机必须知道
- 不同VLAN的终端通信就必须在网络层以上进行跨VLAN通信
- VLAN不是一种新型局域网, 只是一种逻辑服务
总结
- 关于最小帧长和传播延迟之间的关系 -> 的同时 ; 最小帧长的降低意味着争用期减少, 即传播速率不变时, 距离减少; 同时争用期含两倍单向传播时延
- 题目有很多暗示 -> 100Base-T暗示带宽, 最小帧长为64B, 可以先求(最大的)争用期和单向传播时延(包括传播时延和转发时延等等)
- CSMA/CA协议中进行信道预约的方法是交换RTS和CTS帧, 交换指的是RTS发过去, AP回一个CTS帧
- 退避算法时, A站等的第一个IFS为DIFS, 最长; 之后都是SIFS
- 注意退避窗口的上限为1023…